{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "0e4f687d-0cdc-4194-8373-1e83f2ac92a1",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Requirement already satisfied: pandas in c:\\anaconda\\lib\\site-packages (2.2.3)\n",
      "Collecting squarify\n",
      "  Downloading squarify-0.4.4-py3-none-any.whl.metadata (600 bytes)\n",
      "Requirement already satisfied: numpy>=1.26.0 in c:\\anaconda\\lib\\site-packages (from pandas) (1.26.4)\n",
      "Requirement already satisfied: python-dateutil>=2.8.2 in c:\\anaconda\\lib\\site-packages (from pandas) (2.9.0.post0)\n",
      "Requirement already satisfied: pytz>=2020.1 in c:\\anaconda\\lib\\site-packages (from pandas) (2024.1)\n",
      "Requirement already satisfied: tzdata>=2022.7 in c:\\anaconda\\lib\\site-packages (from pandas) (2023.3)\n",
      "Requirement already satisfied: six>=1.5 in c:\\anaconda\\lib\\site-packages (from python-dateutil>=2.8.2->pandas) (1.16.0)\n",
      "Downloading squarify-0.4.4-py3-none-any.whl (4.1 kB)\n",
      "Installing collected packages: squarify\n",
      "Successfully installed squarify-0.4.4\n",
      "Note: you may need to restart the kernel to use updated packages.\n"
     ]
    }
   ],
   "source": [
    "pip install pandas squarify"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "e1dd10cb-4bff-45f9-8027-2f6561bc02e5",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "信计221刘显婷224180117\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAgMAAAGbCAYAAABZBpPkAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAABduElEQVR4nO3dd3gUxeMG8Hf3Si6ddBIIJPTee+8dRQSRpiigYEVRxIKiFMHyU7DrV0FEsdKkKb1JDSW00AMkkJDek7vbnd8fMUeOu5CAJAH2/TxPHr3dmb3ZI7l9b2Z2ThJCCBAREZFmyeXdACIiIipfDANEREQaxzBARESkcQwDREREGscwQEREpHEMA0RERBrHMEBERKRxDANEREQaxzBARFQKuJ4b3U0YBuiOcOHCBaxatQp5eXnl3ZTbzmKxICcnB4qilLiOoijIyckplfaYzWa7x//88w927txpe5yYmIioqKj//DypqamYOnUqrl69esNyaWlpGD58OA4fPvyfn/NmWK1W2/8nJycjLi6uyJ/CZa/31ltvYdasWXbbsrOzUbduXfz888+l1v7rXf+3c+DAAcTGxpao7qpVq3Do0KFiy2VlZd1K0+guIHE5YroTTJgwAV9//TVWr16Nvn37lndznOrYsSP27dtXbLlt27ahVatWtscLFy7EY489dtPP17hxY9sb9JQpU/D+++/fVH1JkmCxWKDT6ey29+zZE02bNsV7770HAHjssceQl5eHn376CQAwbNgwbN++HSdPnoSnp6etXnZ2NubMmQOTyQRZtv8cYbFYUK9ePQwaNAgZGRmoUKECrly5gpCQEJw+fRo1atQAAGRkZMDNzc2hTUOHDkV8fDy2bdvmcNzc3Fy4uLjAaDTa7evWrRs2b958w9cgPj4egYGBDtvbtGmDBg0a4H//+x8AoEePHti4cWORxzl27Bjq1avndN/q1asxaNAgHD582FZmwYIFGDduHPbu3YvmzZsXedzJkydj2bJl8PLyKrJMdnY2atasidWrVxdZBgD69u2LWrVqYd68eRBCoH79+ujYsSO++uqrG9YDgDp16mDEiBF48803AeS/7qdOnUJcXBwuXLiAqKgo7N27F7t27cKqVavQs2fPYo9JdxlB95zExETx8MMPC09PT2EwGETnzp3F+fPn7crs2bNHtG7dWnh4eIiePXuKixcv2u0/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QmZqAvwqhpVSq+59/Aslon8Jh3UG8tcQEHbrDBSmqAqizu/GnqN/wserIjzd8m87NOhdUDe8LfYdW4NDpzaibaNBqBHatKxPiO4SqmoFIADkzw+4cGo/4r88ZVcmJysVdZv1QMy5SERH7UVOViqS4qJhMefg/PHd8PYLQc+hk6GqKnKz05GaFAtXN+9yOJu7E8MAEQHIv7BfvwKholqhKFa7FQiXbvrIVuevf75FXFI02ja6H3XC2tg+1cmyjDphrVGrSgscPbsde4+uQrB/Nbi78s2ZHOVmZ0JV8oOmqlhRtVYLp8MEimKFu5cvKvhXQljtlvD2C4a7l7/dXBTFasYfX78MWZLRZdAzZXoedzNJCCFKUnDsnnnFFyK6S7h9ZCi+kMYIIWCx5sJocC1xmZzcDBj0LnbLwBZV70bdv1qVFe5V3k24J6UmxsLLN5gTVv/13bujii3DngEiApA/VnujIOCsjKvJs8THJiorFfwrlXcT7jqMTURERBrHMEBERKRxDANEREQaxzBARESkcQwDREREGscwQEREpHEMA0RERBrHMEBERKRxDANEREQaxzBARESkcQwDREREGscwQEREpHEMA0RERBrHMEBERKRxDANEREQaxzBARESkcQwDREREGscwQEREpHEMA0RERBrHMEBERKRxDANEREQaxzBARESkcQwDREREGscwQEREpHEMA0RERBrHMEBERKRxDANEREQaxzBARESkcQwDREREGscwQEREpHEMA0RERBrHMEBERKRxDANEREQaxzBARESkcQwDREREGscwQEREpHEMA0RERBrHMEBERKRxDANEREQaxzBARESkcQwDREREGscwQEREpHGSEEKUdyOIiIio/LBngIiISOMYBoiIiDSOYYCIiEjjGAaIiIg0jmGAiIhI4xgGiIiINI5hgIiISOMYBoiIiDSOYYCIiEjj/h/izRXroopWZAAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "print(\"信计221刘显婷224180117\")\n",
    "import pandas as pd\n",
    "import squarify\n",
    "import matplotlib.pyplot as plt\n",
    "# 设置中文字体和解决负号显示问题\n",
    "plt.rcParams['font.sans-serif'] = ['SimHei']\n",
    "plt.rcParams['axes.unicode_minus'] = False\n",
    "# 读取数据\n",
    "data = pd.read_excel('退单量.xls')\n",
    "# 绘制树状图\n",
    "squarify.plot(sizes=data['退单量'], label=data['商品类型'], alpha=0.8)\n",
    "# 设置图表标题和坐标轴标签\n",
    "plt.title('2020 年 9 月不同类型商品退单量分析')\n",
    "plt.axis('off')\n",
    "# 显示图表\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "ce8100a5-283e-4fe3-97fd-2bff1d3d6b2d",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'C:\\\\Users\\\\19202\\\\2020年9月商品退单量树状图.html'"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import pandas as pd\n",
    "from pyecharts.charts import TreeMap\n",
    "from pyecharts import options as opts\n",
    "\n",
    "# 读取数据\n",
    "data = pd.read_excel('退单量.xls')\n",
    "\n",
    "# 整理数据格式\n",
    "treemap_data = []\n",
    "for _, row in data.iterrows():\n",
    "    item = {\n",
    "        \"name\": row['商品类型'],\n",
    "        \"value\": row['退单量']\n",
    "    }\n",
    "    treemap_data.append(item)\n",
    "\n",
    "# 绘制树状图\n",
    "treemap = (\n",
    "    TreeMap()\n",
    "   .add(\n",
    "        series_name=\"2020年9月不同类型商品退单量分析\",\n",
    "        data=treemap_data,\n",
    "        levels=[\n",
    "            opts.TreeMapLevelsOpts(\n",
    "                treemap_itemstyle_opts=opts.ItemStyleOpts(\n",
    "                    border_color=\"#fff\",\n",
    "                    border_width=1\n",
    "                )\n",
    "            )\n",
    "        ]\n",
    "    )\n",
    "   .set_global_opts(\n",
    "        title_opts=opts.TitleOpts(\n",
    "            title=\"2020年9月不同类型商品退单量分析\"\n",
    "        )\n",
    "    )\n",
    ")\n",
    "\n",
    "# 渲染图表，可生成html文件查看\n",
    "treemap.render('2020年9月商品退单量树状图.html')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "e98bcec8-4dc9-4f58-a698-25e48ec4d6c6",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Requirement already satisfied: plotly in c:\\anaconda\\lib\\site-packages (5.22.0)Note: you may need to restart the kernel to use updated packages.\n",
      "\n",
      "Requirement already satisfied: pandas in c:\\anaconda\\lib\\site-packages (2.2.3)\n",
      "Requirement already satisfied: tenacity>=6.2.0 in c:\\anaconda\\lib\\site-packages (from plotly) (8.2.2)\n",
      "Requirement already satisfied: packaging in c:\\anaconda\\lib\\site-packages (from plotly) (23.2)\n",
      "Requirement already satisfied: numpy>=1.26.0 in c:\\anaconda\\lib\\site-packages (from pandas) (1.26.4)\n",
      "Requirement already satisfied: python-dateutil>=2.8.2 in c:\\anaconda\\lib\\site-packages (from pandas) (2.9.0.post0)\n",
      "Requirement already satisfied: pytz>=2020.1 in c:\\anaconda\\lib\\site-packages (from pandas) (2024.1)\n",
      "Requirement already satisfied: tzdata>=2022.7 in c:\\anaconda\\lib\\site-packages (from pandas) (2023.3)\n",
      "Requirement already satisfied: six>=1.5 in c:\\anaconda\\lib\\site-packages (from python-dateutil>=2.8.2->pandas) (1.16.0)\n"
     ]
    }
   ],
   "source": [
    "pip install plotly pandas"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "37c39722-1a9c-4699-b759-9c5a3599b3c0",
   "metadata": {},
   "outputs": [],
   "source": [
    "import plotly.graph_objects as go\n",
    "import pandas as pd\n",
    "\n",
    "# 读取数据\n",
    "try:\n",
    "    data = pd.read_excel('退单量.xls')\n",
    "    if data.empty:\n",
    "        print(\"读取到的数据为空，请检查文件路径和文件内容。\")\n",
    "        raise SystemExit(1)\n",
    "except FileNotFoundError:\n",
    "    print(\"文件未找到，请检查文件路径是否正确。\")\n",
    "    raise SystemExit(1)\n",
    "\n",
    "# 检查并处理数据类型\n",
    "try:\n",
    "    data['退单量'] = pd.to_numeric(data['退单量'], errors='coerce')\n",
    "    if pd.isnull(data['退单量']).any():\n",
    "        print(\"'退单量'列存在无法转换为数值的数据，请检查数据。\")\n",
    "        raise SystemExit(1)\n",
    "except KeyError:\n",
    "    print(\"数据中未找到'退单量'列，请检查列名是否正确。\")\n",
    "    raise SystemExit(1)\n",
    "\n",
    "try:\n",
    "    data['商品类型'] = data['商品类型'].astype(str)\n",
    "except KeyError:\n",
    "    print(\"数据中未找到'商品类型'列，请检查列名是否正确。\")\n",
    "    raise SystemExit(1)\n",
    "\n",
    "# 准备树状图数据\n",
    "values = data['退单量']\n",
    "labels = data['商品类型']\n",
    "\n",
    "# 绘制树状图\n",
    "fig = go.Figure(go.Treemap(\n",
    "    labels = labels,\n",
    "    values = values\n",
    "))\n",
    "# 设置图表标题\n",
    "fig.update_layout(title_text='2020年9月不同类型商品退单量分析') \n",
    "fig.write_html('treemap.html')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "df13f06f-150f-401f-b81f-fbfae27e038b",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/vnd.plotly.v1+json": {
       "config": {
        "plotlyServerURL": "https://plot.ly"
       },
       "data": [
        {
         "labels": [
          "用具",
          "装订机",
          "配件",
          "器具",
          "信封",
          "收纳具",
          "用品",
          "书架",
          "系固件",
          "电话",
          "美术",
          "纸张",
          "复印机",
          "标签",
          "椅子",
          "设备",
          "桌子"
         ],
         "marker": {
          "colors": [
           "#636efa",
           "#EF553B",
           "#636efa",
           "#EF553B",
           "#636efa",
           "#EF553B",
           "#636efa",
           "#EF553B",
           "#636efa",
           "#EF553B",
           "#636efa",
           "#EF553B",
           "#636efa",
           "#EF553B",
           "#636efa",
           "#EF553B",
           "#636efa"
          ],
          "line": {
           "color": "white",
           "width": 1
          }
         },
         "type": "treemap",
         "values": [
          1,
          0.7741935483870968,
          0.6290322580645161,
          0.5806451612903226,
          0.5483870967741936,
          0.49999999999999994,
          0.46774193548387094,
          0.4032258064516129,
          0.3870967741935484,
          0.29032258064516125,
          0.2419354838709677,
          0.1935483870967742,
          0.08064516129032258,
          0.04838709677419355,
          0.03225806451612903,
          0.03225806451612903,
          0
         ]
        }
       ],
       "layout": {
        "autosize": true,
        "template": {
         "data": {
          "bar": [
           {
            "error_x": {
             "color": "#2a3f5f"
            },
            "error_y": {
             "color": "#2a3f5f"
            },
            "marker": {
             "line": {
              "color": "#E5ECF6",
              "width": 0.5
             },
             "pattern": {
              "fillmode": "overlay",
              "size": 10,
              "solidity": 0.2
             }
            },
            "type": "bar"
           }
          ],
          "barpolar": [
           {
            "marker": {
             "line": {
              "color": "#E5ECF6",
              "width": 0.5
             },
             "pattern": {
              "fillmode": "overlay",
              "size": 10,
              "solidity": 0.2
             }
            },
            "type": "barpolar"
           }
          ],
          "carpet": [
           {
            "aaxis": {
             "endlinecolor": "#2a3f5f",
             "gridcolor": "white",
             "linecolor": "white",
             "minorgridcolor": "white",
             "startlinecolor": "#2a3f5f"
            },
            "baxis": {
             "endlinecolor": "#2a3f5f",
             "gridcolor": "white",
             "linecolor": "white",
             "minorgridcolor": "white",
             "startlinecolor": "#2a3f5f"
            },
            "type": "carpet"
           }
          ],
          "choropleth": [
           {
            "colorbar": {
             "outlinewidth": 0,
             "ticks": ""
            },
            "type": "choropleth"
           }
          ],
          "contour": [
           {
            "colorbar": {
             "outlinewidth": 0,
             "ticks": ""
            },
            "colorscale": [
             [
              0,
              "#0d0887"
             ],
             [
              0.1111111111111111,
              "#46039f"
             ],
             [
              0.2222222222222222,
              "#7201a8"
             ],
             [
              0.3333333333333333,
              "#9c179e"
             ],
             [
              0.4444444444444444,
              "#bd3786"
             ],
             [
              0.5555555555555556,
              "#d8576b"
             ],
             [
              0.6666666666666666,
              "#ed7953"
             ],
             [
              0.7777777777777778,
              "#fb9f3a"
             ],
             [
              0.8888888888888888,
              "#fdca26"
             ],
             [
              1,
              "#f0f921"
             ]
            ],
            "type": "contour"
           }
          ],
          "contourcarpet": [
           {
            "colorbar": {
             "outlinewidth": 0,
             "ticks": ""
            },
            "type": "contourcarpet"
           }
          ],
          "heatmap": [
           {
            "colorbar": {
             "outlinewidth": 0,
             "ticks": ""
            },
            "colorscale": [
             [
              0,
              "#0d0887"
             ],
             [
              0.1111111111111111,
              "#46039f"
             ],
             [
              0.2222222222222222,
              "#7201a8"
             ],
             [
              0.3333333333333333,
              "#9c179e"
             ],
             [
              0.4444444444444444,
              "#bd3786"
             ],
             [
              0.5555555555555556,
              "#d8576b"
             ],
             [
              0.6666666666666666,
              "#ed7953"
             ],
             [
              0.7777777777777778,
              "#fb9f3a"
             ],
             [
              0.8888888888888888,
              "#fdca26"
             ],
             [
              1,
              "#f0f921"
             ]
            ],
            "type": "heatmap"
           }
          ],
          "heatmapgl": [
           {
            "colorbar": {
             "outlinewidth": 0,
             "ticks": ""
            },
            "colorscale": [
             [
              0,
              "#0d0887"
             ],
             [
              0.1111111111111111,
              "#46039f"
             ],
             [
              0.2222222222222222,
              "#7201a8"
             ],
             [
              0.3333333333333333,
              "#9c179e"
             ],
             [
              0.4444444444444444,
              "#bd3786"
             ],
             [
              0.5555555555555556,
              "#d8576b"
             ],
             [
              0.6666666666666666,
              "#ed7953"
             ],
             [
              0.7777777777777778,
              "#fb9f3a"
             ],
             [
              0.8888888888888888,
              "#fdca26"
             ],
             [
              1,
              "#f0f921"
             ]
            ],
            "type": "heatmapgl"
           }
          ],
          "histogram": [
           {
            "marker": {
             "pattern": {
              "fillmode": "overlay",
              "size": 10,
              "solidity": 0.2
             }
            },
            "type": "histogram"
           }
          ],
          "histogram2d": [
           {
            "colorbar": {
             "outlinewidth": 0,
             "ticks": ""
            },
            "colorscale": [
             [
              0,
              "#0d0887"
             ],
             [
              0.1111111111111111,
              "#46039f"
             ],
             [
              0.2222222222222222,
              "#7201a8"
             ],
             [
              0.3333333333333333,
              "#9c179e"
             ],
             [
              0.4444444444444444,
              "#bd3786"
             ],
             [
              0.5555555555555556,
              "#d8576b"
             ],
             [
              0.6666666666666666,
              "#ed7953"
             ],
             [
              0.7777777777777778,
              "#fb9f3a"
             ],
             [
              0.8888888888888888,
              "#fdca26"
             ],
             [
              1,
              "#f0f921"
             ]
            ],
            "type": "histogram2d"
           }
          ],
          "histogram2dcontour": [
           {
            "colorbar": {
             "outlinewidth": 0,
             "ticks": ""
            },
            "colorscale": [
             [
              0,
              "#0d0887"
             ],
             [
              0.1111111111111111,
              "#46039f"
             ],
             [
              0.2222222222222222,
              "#7201a8"
             ],
             [
              0.3333333333333333,
              "#9c179e"
             ],
             [
              0.4444444444444444,
              "#bd3786"
             ],
             [
              0.5555555555555556,
              "#d8576b"
             ],
             [
              0.6666666666666666,
              "#ed7953"
             ],
             [
              0.7777777777777778,
              "#fb9f3a"
             ],
             [
              0.8888888888888888,
              "#fdca26"
             ],
             [
              1,
              "#f0f921"
             ]
            ],
            "type": "histogram2dcontour"
           }
          ],
          "mesh3d": [
           {
            "colorbar": {
             "outlinewidth": 0,
             "ticks": ""
            },
            "type": "mesh3d"
           }
          ],
          "parcoords": [
           {
            "line": {
             "colorbar": {
              "outlinewidth": 0,
              "ticks": ""
             }
            },
            "type": "parcoords"
           }
          ],
          "pie": [
           {
            "automargin": true,
            "type": "pie"
           }
          ],
          "scatter": [
           {
            "fillpattern": {
             "fillmode": "overlay",
             "size": 10,
             "solidity": 0.2
            },
            "type": "scatter"
           }
          ],
          "scatter3d": [
           {
            "line": {
             "colorbar": {
              "outlinewidth": 0,
              "ticks": ""
             }
            },
            "marker": {
             "colorbar": {
              "outlinewidth": 0,
              "ticks": ""
             }
            },
            "type": "scatter3d"
           }
          ],
          "scattercarpet": [
           {
            "marker": {
             "colorbar": {
              "outlinewidth": 0,
              "ticks": ""
             }
            },
            "type": "scattercarpet"
           }
          ],
          "scattergeo": [
           {
            "marker": {
             "colorbar": {
              "outlinewidth": 0,
              "ticks": ""
             }
            },
            "type": "scattergeo"
           }
          ],
          "scattergl": [
           {
            "marker": {
             "colorbar": {
              "outlinewidth": 0,
              "ticks": ""
             }
            },
            "type": "scattergl"
           }
          ],
          "scattermapbox": [
           {
            "marker": {
             "colorbar": {
              "outlinewidth": 0,
              "ticks": ""
             }
            },
            "type": "scattermapbox"
           }
          ],
          "scatterpolar": [
           {
            "marker": {
             "colorbar": {
              "outlinewidth": 0,
              "ticks": ""
             }
            },
            "type": "scatterpolar"
           }
          ],
          "scatterpolargl": [
           {
            "marker": {
             "colorbar": {
              "outlinewidth": 0,
              "ticks": ""
             }
            },
            "type": "scatterpolargl"
           }
          ],
          "scatterternary": [
           {
            "marker": {
             "colorbar": {
              "outlinewidth": 0,
              "ticks": ""
             }
            },
            "type": "scatterternary"
           }
          ],
          "surface": [
           {
            "colorbar": {
             "outlinewidth": 0,
             "ticks": ""
            },
            "colorscale": [
             [
              0,
              "#0d0887"
             ],
             [
              0.1111111111111111,
              "#46039f"
             ],
             [
              0.2222222222222222,
              "#7201a8"
             ],
             [
              0.3333333333333333,
              "#9c179e"
             ],
             [
              0.4444444444444444,
              "#bd3786"
             ],
             [
              0.5555555555555556,
              "#d8576b"
             ],
             [
              0.6666666666666666,
              "#ed7953"
             ],
             [
              0.7777777777777778,
              "#fb9f3a"
             ],
             [
              0.8888888888888888,
              "#fdca26"
             ],
             [
              1,
              "#f0f921"
             ]
            ],
            "type": "surface"
           }
          ],
          "table": [
           {
            "cells": {
             "fill": {
              "color": "#EBF0F8"
             },
             "line": {
              "color": "white"
             }
            },
            "header": {
             "fill": {
              "color": "#C8D4E3"
             },
             "line": {
              "color": "white"
             }
            },
            "type": "table"
           }
          ]
         },
         "layout": {
          "annotationdefaults": {
           "arrowcolor": "#2a3f5f",
           "arrowhead": 0,
           "arrowwidth": 1
          },
          "autotypenumbers": "strict",
          "coloraxis": {
           "colorbar": {
            "outlinewidth": 0,
            "ticks": ""
           }
          },
          "colorscale": {
           "diverging": [
            [
             0,
             "#8e0152"
            ],
            [
             0.1,
             "#c51b7d"
            ],
            [
             0.2,
             "#de77ae"
            ],
            [
             0.3,
             "#f1b6da"
            ],
            [
             0.4,
             "#fde0ef"
            ],
            [
             0.5,
             "#f7f7f7"
            ],
            [
             0.6,
             "#e6f5d0"
            ],
            [
             0.7,
             "#b8e186"
            ],
            [
             0.8,
             "#7fbc41"
            ],
            [
             0.9,
             "#4d9221"
            ],
            [
             1,
             "#276419"
            ]
           ],
           "sequential": [
            [
             0,
             "#0d0887"
            ],
            [
             0.1111111111111111,
             "#46039f"
            ],
            [
             0.2222222222222222,
             "#7201a8"
            ],
            [
             0.3333333333333333,
             "#9c179e"
            ],
            [
             0.4444444444444444,
             "#bd3786"
            ],
            [
             0.5555555555555556,
             "#d8576b"
            ],
            [
             0.6666666666666666,
             "#ed7953"
            ],
            [
             0.7777777777777778,
             "#fb9f3a"
            ],
            [
             0.8888888888888888,
             "#fdca26"
            ],
            [
             1,
             "#f0f921"
            ]
           ],
           "sequentialminus": [
            [
             0,
             "#0d0887"
            ],
            [
             0.1111111111111111,
             "#46039f"
            ],
            [
             0.2222222222222222,
             "#7201a8"
            ],
            [
             0.3333333333333333,
             "#9c179e"
            ],
            [
             0.4444444444444444,
             "#bd3786"
            ],
            [
             0.5555555555555556,
             "#d8576b"
            ],
            [
             0.6666666666666666,
             "#ed7953"
            ],
            [
             0.7777777777777778,
             "#fb9f3a"
            ],
            [
             0.8888888888888888,
             "#fdca26"
            ],
            [
             1,
             "#f0f921"
            ]
           ]
          },
          "colorway": [
           "#636efa",
           "#EF553B",
           "#00cc96",
           "#ab63fa",
           "#FFA15A",
           "#19d3f3",
           "#FF6692",
           "#B6E880",
           "#FF97FF",
           "#FECB52"
          ],
          "font": {
           "color": "#2a3f5f"
          },
          "geo": {
           "bgcolor": "white",
           "lakecolor": "white",
           "landcolor": "#E5ECF6",
           "showlakes": true,
           "showland": true,
           "subunitcolor": "white"
          },
          "hoverlabel": {
           "align": "left"
          },
          "hovermode": "closest",
          "mapbox": {
           "style": "light"
          },
          "paper_bgcolor": "white",
          "plot_bgcolor": "#E5ECF6",
          "polar": {
           "angularaxis": {
            "gridcolor": "white",
            "linecolor": "white",
            "ticks": ""
           },
           "bgcolor": "#E5ECF6",
           "radialaxis": {
            "gridcolor": "white",
            "linecolor": "white",
            "ticks": ""
           }
          },
          "scene": {
           "xaxis": {
            "backgroundcolor": "#E5ECF6",
            "gridcolor": "white",
            "gridwidth": 2,
            "linecolor": "white",
            "showbackground": true,
            "ticks": "",
            "zerolinecolor": "white"
           },
           "yaxis": {
            "backgroundcolor": "#E5ECF6",
            "gridcolor": "white",
            "gridwidth": 2,
            "linecolor": "white",
            "showbackground": true,
            "ticks": "",
            "zerolinecolor": "white"
           },
           "zaxis": {
            "backgroundcolor": "#E5ECF6",
            "gridcolor": "white",
            "gridwidth": 2,
            "linecolor": "white",
            "showbackground": true,
            "ticks": "",
            "zerolinecolor": "white"
           }
          },
          "shapedefaults": {
           "line": {
            "color": "#2a3f5f"
           }
          },
          "ternary": {
           "aaxis": {
            "gridcolor": "white",
            "linecolor": "white",
            "ticks": ""
           },
           "baxis": {
            "gridcolor": "white",
            "linecolor": "white",
            "ticks": ""
           },
           "bgcolor": "#E5ECF6",
           "caxis": {
            "gridcolor": "white",
            "linecolor": "white",
            "ticks": ""
           }
          },
          "title": {
           "x": 0.05
          },
          "xaxis": {
           "automargin": true,
           "gridcolor": "white",
           "linecolor": "white",
           "ticks": "",
           "title": {
            "standoff": 15
           },
           "zerolinecolor": "white",
           "zerolinewidth": 2
          },
          "yaxis": {
           "automargin": true,
           "gridcolor": "white",
           "linecolor": "white",
           "ticks": "",
           "title": {
            "standoff": 15
           },
           "zerolinecolor": "white",
           "zerolinewidth": 2
          }
         }
        },
        "title": {
         "text": "2020年9月不同类型商品退单量分析"
        }
       }
      },
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABE0AAAFoCAYAAACixgUDAAAAAXNSR0IArs4c6QAAIABJREFUeF7t3W+sJXdZB/DhXf9RkGJtQKWmgAJpSI1iQk20JqIxEt5YCTEFDNSaglq2CU03tVlp3VpNlyVAQy0qdq0N1BBA4h+qVGOKKTFsFLE2oKAo1pKiMbXwruZ3krmZnZ05M8/e27Xc72ffKHufM2eez3PObea7v/nNM5588sknO38IECBAgAABAgQIECBAgAABAgROEHiG0MQnggABAgQIECBAgAABAgQIECBwsoDQxKeCAAECBAgQIECAAAECBAgQIDAhIDTxsSBAgAABAgQIECBAgAABAgQICE18BggQIECAAAECBAgQIECAAAEC6wSsNFnnpIoAAQIECBAgQIAAAQIECBAIExCahA1cuwQIECBAgAABAgQIECBAgMA6AaHJOidVBAgQIECAAAECBAgQIECAQJiA0CRs4NolQIAAAQIECBAgQIAAAQIE1gkITdY5qSJAgAABAgQIECBAgAABAgTCBIQmYQPXLgECBAgQIECAAAECBAgQILBOQGiyzkkVAQIECBAgQIAAAQIECBAgECYgNAkbuHYJECBAgAABAgQIECBAgACBdQJCk3VOqggQIECAAAECBAgQIECAAIEwAaFJ2MC1S4AAAQIECBAgQIAAAQIECKwTEJqsc1JFgAABAgQIECBAgAABAgQIhAkITcIGrl0CBAgQIECAAAECBAgQIEBgnYDQZJ2TKgIECBAgQIAAAQIECBAgQCBMQGgSNnDtEiBAgAABAgQIECBAgAABAusEhCbrnFQRIECAAAECBAgQIECAAAECYQJCk7CBa5cAAQIECBAgQIAAAQIECBBYJyA0WeekigABAgQIECBAgAABAgQIEAgTEJqEDVy7BAgQIECAAAECBAgQIECAwDoBock6J1UECBAgQIAAAQIECBAgQIBAmIDQJGzg2iVAgAABAgQIECBAgAABAgTWCQhN1jmpIkCAAAECBAgQIECAAAECBMIEhCZhA9cuAQIECBAgQIAAAQIECBAgsE5AaLLOSRUBAgQIECBAgAABAgQIECAQJiA0CRu4dgkQIECAAAECBAgQIECAAIF1AkKTdU6qCBAgQIAAAQIECBAgQIAAgTABoUnYwLVLgAABAgQIECBAgAABAgQIrBMQmqxz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dUqAAAECBAgQIECAAAECBAgUBIQmBSylBAgQIECAAAECBAgQIECAQI6A0CRn1jolQIAAAQIECBAgQIAAAQIECgJCkwKWUgIECBAgQIAAAQIECBAgQCBHQGiSM2udEiBAgAABAgQIECBAgAABAgUBoUkBSykBAgQIECBAgAABAgQIECCQIyA0yZm1TgkQIECAAAECBAgQIECAAIGCgNCkgKWUAAECBAgQIECAAAECBAgQyBEQmuTMWqcECBAgQIAAAQIECBAgQIBAQUBoUsBSSoAAAQIECBAgQIAAAQIECOQICE1yZq1TAgQIECBAgAABAgQIECBAoCAgNClgKSVAgAABAgQIECBAgAABAgRyBIQmObPWKQECBAgQIECAAAECBAgQIFAQEJoUsJQSIECAAAECBAgQIECAAAECOQJCk5xZ65QAAQIECBAgQIAAAQIECBAoCAhNClhKCRAgQIAAAQIECBAgQIAAgRwBoUnOrHVKgAABAgQIECBAgAABAgQIFASEJgUspQQIECBAgAABAgQIECBAgECOgNAkZ9Y6JUCAAAECBAgQIECAAAECBAoCQpMCllICBAgQIECAAAECBAgQIEAgR0BokjNrnRIgQIAAAQIECBAgQIAAAQIFAaFJAUspAQIECBAgQIAAAQIECBAgkCMgNMmZtU4JECBAgAABAgQIECBAgACBgoDQpICllAABAgQIECBAgAABAgQIEMgREJrkzFqnBAgQIECAAAECBAgQIECAQEFAaFLAUkqAAAECBAgQIECAAAECBAjkCAhNcmatUwIECBAgQIAAAQIECBAgQKAgIDQpYCklQIAAAQIECBAgQIAAAQIEcgSEJjmz1ikBAgQIECBAgAABAgQIECBQEBCaFLCUEiBAgAABAgQIECBAgAABAjkCQpOcWeuUAAECBAgQIECAAAECBAgQKAgITQpYSgkQIECAAAECBAgQIECAAIEcAaFJzqx1SoAAAQIECBAgQIAAAQIECBQEhCYFLKUECBAgQIAAAQIECBAgQIBAjoDQJGfWOiVAgAABAgQIECBAgAABAgQKAkKTApZSAgQIECBAgAABAgQIECBAIEdAaJIza50SIECAAAECBAgQIECAAAECBQGhSQFLKQECBAgQIECAAAECBAgQIJAjIDTJmbVOCRAgQIAAAQIECBAgQIAAgYKA0KSApZQAAQIECBAgQIAAAQIECBDIERCa5MxapwQIECBAgAABAgQIECBAgEBBQGhSwFJKgAABAgQIECBAgAABAgQI5AgITXJmrVMCBAgQIECAAAECBAgQIECgICA0KWApJUCAAAECBAgQIECAAAECBHIEhCY5s9YpAQIECBAgQIAAAQIECBAgUBAQmhSwlBIgQIAAAQIECBAgQIAAAQI5AkKTnFnrlAABAgQIECBAgAABAgQIECgICE0KWEoJECBAgAABAgQIECBAgACBHAGhSc6sdUqAAAECBAgQIECAAAECBAgUBIQmBSylBAgQIECAAAECBAgQIECAQI6A0CRn1jolQIAAAQIECBAgQIAAAQIECgJCkwKWUgIECBAgQIAAAQIECBAgQCBHQGiSM2udEiBAgAABAgQIECBAgAABAgUBoUkBSykBAgQIECBAgAABAgQIECCQIyA0yZm1TgkQIECAAAECBAgQIECAAIGCgNCkgKWUAAECBAgQIECAAAECBAgQyBEQmuTMWqcECBAgQIAAAQIECBAgQIBAQUBoUsBSSoAAAQIECBAgQIAAAQIECOQICE1yZq1TAgQIECBAgAABAgQIECBAoCAgNClgKSVAgAABAgQIECBAgAABAgRyBIQmObPWKQECBAgQIECAAAECBAgQIFAQEJoUsJQSIECAAAECBAgQIECAAAECOQJCk5xZ65QAAQIECBAgQIAAAQIECBAoCAhNClhKCRAgQIAAAQIECBAgQIAAgRwBoUnOrHVKgAABAgQIECBAgAABAgQIFASEJgUspQQIECBAgAABAgQIECBAgECOgNAkZ9Y6JUCAAAECBAgQIECAAAECBAoCQpMCllICBAgQIECAAAECBAgQIEAgR0BokjNrnRIgQIAAAQIECBAgQIAAAQIFAaFJAUspAQIECBAgQIAAAQIECBAgkCMgNMmZtU4JECBAgAABAgQIECBAgACBgoDQpICllAABAgQIECBAgAABAgQIEMgREJrkzFqnBAgQIECAAAECBAgQIECAQEFAaFLAUkqAAAECBAgQIECAAAECBAjkCAhNcmatUwIECBAgQIAAAQIECBAgQKAgIDQpYCklQIAAAQIECBAgQIAAAQIEcgSEJjmz1ikBAgQIECBAgAABAgQIECBQEBCaFLCUEiBAgAABAgQIECBAgAABAjkCQpOcWeuUAAECBAgQIECAAAECBAgQKAgITQpYSgkQIECAAAECBAgQIECAAIEcAaFJzqx1SoAAAQIECBAgQIAAAQIECBQEhCYFLKUECBAgQIAAAQIECBAgQIBAjoDQJGfWOiVAgAABAgQIECBAgAABAgQKAkKTApZSAgQIECBAgAABAgQIECBAIEdAaJIza50SIECAAAECBAgQIECAAAECBQGhSQFLKQECBAgQIECAAAECBAgQIJAjIDTJmbVOCRAgQIAAAQIECBAgQIAAgYKA0KSApZQAAQIECBAgQIAAAQIECBDIERCa5MxapwQIECBAgAABAgQIECBAgEBBQGhSwFJKgAABAgQIECBAgAABAgQI5AgITXJmrVMCBAgQIECAAAECBAgQIECgICA0KWApJUCAAAECBAgQIECAAAECBHIEhCY5s9YpAQIECBAgQIAAAQIECBAgUBAQmhSwlBIgQIAAAQIECBAgQIAAAQI5AkKTnFnrlAABAgQIECBAgAABAgQIECgICE0KWEoJECBAgAABAgQIECBAgACBHAGhSc6sdUqAAAECBAgQIECAAAECBAgUBIQmBSylBAgQIECAAAECBAgQIECAQI6A0CRn1jolQIAAAQIECBAgQIAAAQIECgJCkwKWUgIECBAgQIAAAQIECBAgQCBHQGiSM2udEiBAgAABAgQIECBAgAABAgUBoUkBSykBAgQIECBAgAABAgQIECCQIyA0yZm1TgkQIECAAAECBAgQIECAAIGCgNCkgKWUAAECBAgQIECAAAECBAgQyBEQmuTMWqcECBAgQIAAAQIECBAgQIBAQUBoUsBSSoAAAQIECBAgQIAAAQIECOQICE1yZq1TAgQIECBAgAABAgQIECBAoCAgNClgKSVAgAABAgQIECBAgAABAgRyBIQmObPWKQECBAgQIECAAAECBAgQIFAQEJoUsJQSIECAAAECBAgQIECAAAECOQJCk5xZ65QAAQIECBAgQIAAAQIECBAoCAhNClhKCRAgQIAAAQIECBAgQIAAgRwBoUnOrHVKgAABAgQIECBAgAABAgQIFASEJgUspQQIECBAgAABAgQIECBAgECOgNAkZ9Y6JUCAAAECBAgQIECAAAECBAoCQpMCllICBAgQIECAAAECBAgQIEAgR0BokjNrnRIgQIAAAQIECBAgQIAAAQIFAaFJAUspAQIECBAgQIAAAQIECBAgkCMgNMmZtU4JECBAgAABAgQIECBAgACBgoDQpICllAABAgQIECBAgAABAgQIEMgREJrkzFqnBAgQIECAAAECBAgQIECAQEFAaFLAUkqAAAECBAgQIECAAAECBAjkCAhNcmatUwIECBAgQIAAAQIECBAgQKAgIDQpYCklQIAAAQIECBAgQIAAAQIEcgSEJjmz1ikBAgQIECBAgAABAgQIECBQEBCaFLCUEiBAgAABAgQIECBAgAABAjkCQpOcWeuUAAECBAgQIECAAAECBAgQKAgITQpYSgkQIECAAAECBAgQIECAAIEcAaFJzqx1SoAAAQIECBAgQIAAAQIECBQEhCYFLKUECBAgQIAAAQIECBAgQIBAjoDQJGfWOiVAgAABAgQIECBAgAABAgQKAkKTApZSAgQIECBAgAABAgQIECBAIEdAaJIza50SIECAAAECBAgQIECAAAECBQGhSQFLKQECBAgQIECAAAECBAgQIJAjIDTJmbVOCRAgQIAAAQIECBAgQIAAgYKA0KSApZQAAQIECBAgQIAAAQIECBDIERCa5MxapwQIECBAgAABAgQIECBAgEBBQGhSwFJKgAABAgQIECBAgAABAgQI5AgITXJmrVMCBAgQIECAAAECBAgQIECgICA0KWApJUCAAAECBAgQIECAAAECBHIEhCY5s9YpAQIECBAgQIAAAQIECBAgUBAQmhSwlBIgQIAAAQIECBAgQIAAAQI5AkKTnFnrlAABAgQIECBAgAABAgQIECgICE0KWEoJECBAgAABAgQIECBAgACBHAGhSc6sdUqAAAECBAgQIECAAAECBAgUBIQmBSylBAgQIECAAAECBAgQIECAQI6A0CRn1jolQIAAAQIECBAgQIAAAQIECgJCkwKWUgIECBAgQIAAAQIECBAgQCBHQGiSM2udEiBAgAABAgQIECBAgAABAgUBoUkBSykBAgQIECBAgAABAgQIECCQIyA0yZm1TgkQIECAAAECBAgQIECAAIGCgNCkgKWUAAECBAgQIECAAAECBAgQyBEQmuTMWqcECBAgQIAAAQIECBAgQIBAQUBoUsBSSoAAAQIECBAgQIAAAQIECOQICE1yZq1TAgQIECBAgAABAgQIECBAoCAgNClgKSVAgAABAgQIECBAgAABAgRyBIQmObPWKQECBAgQIECAAAECBAgQIFAQEJoUsJQSIECAAAECBAgQIECAAAECOQJCk5xZ65QAAQIECBAgQIAAAQIECBAoCAhNClhKCRAgQIAAAQIECBAgQIAAgRwBoUnOrHVKgAABAgQIECBAgAABAgQIFASEJgUspQQIECBAgAABAgQIECBAgECOgNAkZ9Y6JUCAAAECBAgQIECAAAECBAoCQpMCllICBAgQIEAQNTn3AAAK0klEQVSAAAECBAgQIEAgR0BokjNrnRIgQIAAAQIECBAgQIAAAQIFAaFJAUspAQIECBAgQIAAAQIECBAgkCMgNMmZtU4JECBAgAABAgQIECBAgACBgoDQpICllAABAgQIECBAgAABAgQIEMgREJrkzFqnBAgQIECAAAECBAgQIECAQEFAaFLAUkqAAAECBAgQIECAAAECBAjkCAhNcmatUwIECBAgQIAAAQIECBAgQKAgIDQpYCklQIAAAQIECBAgQIAAAQIEcgSEJjmz1ikBAgQIECBAgAABAgQIECBQEBCaFLCUEiBAgAABAgQIECBAgAABAjkCQpOcWeuUAAECBAgQIECAAAECBAgQKAgITQpYSgkQIECAAAECBAgQIECAAIEcAaFJzqx1SoAAAQIECBAgQIAAAQIECBQEhCYFLKUECBAgQIAAAQIECBAgQIBAjoDQJGfWOiVAgAABAgQIECBAgAABAgQKAkKTApZSAgQIECBAgAABAgQIECBAIEdAaJIza50SIECAAAECBAgQIECAAAECBQGhSQFLKQECBAgQIECAAAECBAgQIJAjIDTJmbVOCRAgQIAAAQIECBAgQIAAgYKA0KSApZQAAQIECBAgQIAAAQIECBDIERCa5MxapwQIECBAgAABAgQIECBAgEBBQGhSwFJKgAABAgQIECBAgAABAgQI5AgITXJmrVMCBAgQIECAAAECBAgQIECgICA0KWApJUCAAAECBAgQIECAAAECBHIEhCY5s9YpAQIECBAgQIAAAQIECBAgUBAQmhSwlBIgQIAAAQIECBAgQIAAAQI5AkKTnFnrlAABAgQIECBAgAABAgQIECgICE0KWEoJECBAgAABAgQIECBAgACBHAGhSc6sdUqAAAECBAgQIECAAAECBAgUBIQmBSylBAgQIECAAAECBAgQIECAQI6A0CRn1jolQIAAAQIECBAgQIAAAQIECgJCkwKWUgIECBAgQIAAAQIECBAgQCBHQGiSM2udEiBAgAABAgQIECBAgAABAgUBoUkBSykBAgQIECBAgAABAgQIECCQIyA0yZm1TgkQIECAAAECBAgQIECAAIGCgNCkgKWUAAECBAgQIECAAAECBAgQyBEQmuTMWqcECBAgQIAAAQIECBAgQIBAQUBoUsBSSoAAAQIECBAgQIAAAQIECOQICE1yZq1TAgQIECBAgAABAgQIECBAoCAgNClgKSVAgAABAgQIECBAgAABAgRyBIQmObPWKQECBAgQIECAAAECBAgQIFAQEJoUsJQSIECAAAECBAgQIECAAAECOQJCk5xZ65QAAQIECBAgQIAAAQIECBAoCAhNClhKCRAgQIAAAQIECBAgQIAAgRwBoUnOrHVKgAABAgQIECBAgAABAgQIFASEJgUspQQIECBAgAABAgQIECBAgECOgNAkZ9Y6JUCAAAECBAgQIECAAAECBAoCQpMCllICBAgQIECAAAECBAgQIEAgR0BokjNrnRIgQIAAAQIECBAgQIAAAQIFAaFJAUspAQIECBAgQIAAAQIECBAgkCMgNMmZtU4JECBAgAABAgQIECBAgACBgoDQpICllAABAgQIECBAgAABAgQIEMgREJrkzFqnBAgQIECAAAECBAgQIECAQEFAaFLAUkqAAAECBAgQIECAAAECBAjkCAhNcmatUwIECBAgQIAAAQIECBAgQKAgIDQpYCklQIAAAQIECBAgQIAAAQIEcgSEJjmz1ikBAgQIECBAgAABAgQIECBQEBCaFLCUEiBAgAABAgQIECBAgAABAjkCQpOcWeuUAAECBAgQIECAAAECBAgQKAgITQpYSgkQIECAAAECBAgQIECAAIEcAaFJzqx1SoAAAQIECBAgQIAAAQIECBQEhCYFLKUECBAgQIAAAQIECBAgQIBAjoDQJGfWOiVAgAABAgQIECBAgAABAgQKAkKTApZSAgQIECBAgAABAgQIECBAIEdAaJIza50SIECAAAECBAgQIECAAAECBQGhSQFLKQECBAgQIECAAAECBAgQIJAjIDTJmbVOCRAgQIAAAQIECBAgQIAAgYKA0KSApZQAAQIECBAgQIAAAQIECBDIERCa5MxapwQIECBAgAABAgQIECBAgEBBQGhSwFJKgAABAgQIECBAgAABAgQI5AgITXJmrVMCBAgQIECAAAECBAgQIECgICA0KWApJUCAAAECBAgQIECAAAECBHIEhCY5s9YpAQIECBAgQIAAAQIECBAgUBAQmhSwlBIgQIAAAQIECBAgQIAAAQI5AkKTnFnrlAABAgQIECBAgAABAgQIECgICE0KWEoJECBAgAABAgQIECBAgACBHAGhSc6sdUqAAAECBAgQIECAAAECBAgUBIQmBSylBAgQIECAAAECBAgQIECAQI6A0CRn1jolQIAAAQIECBAgQIAAAQIECgJCkwKWUgIECBAgQIAAAQIECBAgQCBHQGiSM2udEiBAgAABAgQIECBAgAABAgUBoUkBSykBAgQIECBAgAABAgQIECCQIyA0yZm1TgkQIECAAAECBAgQIECAAIGCgNCkgKWUAAECBAgQIECAAAECBAgQyBEQmuTMWqcECBAgQIAAAQIECBAgQIBAQUBoUsBSSoAAAQIECBAgQIAAAQIECOQICE1yZq1TAgQIECBAgAABAgQIECBAoCAgNClgKSVAgAABAgQIECBAgAABAgRyBIQmObPWKQECBAgQIECAAAECBAgQIFAQEJoUsJQSIECAAAECBAgQIECAAAECOQJCk5xZ65QAAQIECBAgQIAAAQIECBAoCAhNClhKCRAgQIAAAQIECBAgQIAAgRwBoUnOrHVKgAABAgQIECBAgAABAgQIFASEJgUspQQIECBAgAABAgQIECBAgECOgNAkZ9Y6JUCAAAECBAgQIECAAAECBAoCQpMCllICBAgQIECAAAECBAgQIEAgR0BokjNrnRIgQIAAAQIECBAgQIAAAQIFAaFJAUspAQIECBAgQIAAAQIECBAgkCMgNMmZtU4JECBAgAABAgQIECBAgACBgoDQpICllAABAgQIECBAgAABAgQIEMgREJrkzFqnBAgQIECAAAECBAgQIECAQEFAaFLAUkqAAAECBAgQIECAAAECBAjkCAhNcmatUwIECBAgQIAAAQIECBAgQKAgIDQpYCklQIAAAQIECBAgQIAAAQIEcgSEJjmz1ikBAgQIECBAgAABAgQIECBQEBCaFLCUEiBAgAABAgQIECBAgAABAjkCQpOcWeuUAAECBAgQIECAAAECBAgQKAgITQpYSgkQIECAAAECBAgQIECAAIEcAaFJzqx1SoAAAQIECBAgQIAAAQIECBQEhCYFLKUECBAgQIAAAQIECBAgQIBAjoDQJGfWOiVAgAABAgQIECBAgAABAgQKAkKTApZSAgQIECBAgAABAgQIECBAIEdAaJIza50SIECAAAECBAgQIECAAAECBQGhSQFLKQECBAgQIECAAAECBAgQIJAjIDTJmbVOCRAgQIAAAQIECBAgQIAAgYKA0KSApZQAAQIECBAgQIAAAQIECBDIERCa5MxapwQIECBAgAABAgQIECBAgEBBQGhSwFJKgAABAgQIECBAgAABAgQI5AgITXJmrVMCBAgQIECAAAECBAgQIECgICA0KWApJUCAAAECBAgQIECAAAECBHIE/g8ZEhXIqv6buQAAAABJRU5ErkJggg==",
      "text/html": [
       "<div>                            <div id=\"d06b9786-181c-41b6-9d60-bad31c421dfa\" class=\"plotly-graph-div\" style=\"height:525px; width:100%;\"></div>            <script type=\"text/javascript\">                require([\"plotly\"], function(Plotly) {                    window.PLOTLYENV=window.PLOTLYENV || {};                                    if (document.getElementById(\"d06b9786-181c-41b6-9d60-bad31c421dfa\")) {                    Plotly.newPlot(                        \"d06b9786-181c-41b6-9d60-bad31c421dfa\",                        [{\"labels\":[\"\\u7528\\u5177\",\"\\u88c5\\u8ba2\\u673a\",\"\\u914d\\u4ef6\",\"\\u5668\\u5177\",\"\\u4fe1\\u5c01\",\"\\u6536\\u7eb3\\u5177\",\"\\u7528\\u54c1\",\"\\u4e66\\u67b6\",\"\\u7cfb\\u56fa\\u4ef6\",\"\\u7535\\u8bdd\",\"\\u7f8e\\u672f\",\"\\u7eb8\\u5f20\",\"\\u590d\\u5370\\u673a\",\"\\u6807\\u7b7e\",\"\\u6905\\u5b50\",\"\\u8bbe\\u5907\",\"\\u684c\\u5b50\"],\"marker\":{\"colors\":[\"#636efa\",\"#EF553B\",\"#636efa\",\"#EF553B\",\"#636efa\",\"#EF553B\",\"#636efa\",\"#EF553B\",\"#636efa\",\"#EF553B\",\"#636efa\",\"#EF553B\",\"#636efa\",\"#EF553B\",\"#636efa\",\"#EF553B\",\"#636efa\"],\"line\":{\"color\":\"white\",\"width\":1}},\"values\":[1.0,0.7741935483870968,0.6290322580645161,0.5806451612903226,0.5483870967741936,0.49999999999999994,0.46774193548387094,0.4032258064516129,0.3870967741935484,0.29032258064516125,0.2419354838709677,0.1935483870967742,0.08064516129032258,0.04838709677419355,0.03225806451612903,0.03225806451612903,0.0],\"type\":\"treemap\"}],                        {\"template\":{\"data\":{\"histogram2dcontour\":[{\"type\":\"histogram2dcontour\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"choropleth\":[{\"type\":\"choropleth\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}],\"histogram2d\":[{\"type\":\"histogram2d\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"heatmap\":[{\"type\":\"heatmap\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"heatmapgl\":[{\"type\":\"heatmapgl\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"contourcarpet\":[{\"type\":\"contourcarpet\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}],\"contour\":[{\"type\":\"contour\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"surface\":[{\"type\":\"surface\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"mesh3d\":[{\"type\":\"mesh3d\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}],\"scatter\":[{\"fillpattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2},\"type\":\"scatter\"}],\"parcoords\":[{\"type\":\"parcoords\",\"line\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatterpolargl\":[{\"type\":\"scatterpolargl\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"bar\":[{\"error_x\":{\"color\":\"#2a3f5f\"},\"error_y\":{\"color\":\"#2a3f5f\"},\"marker\":{\"line\":{\"color\":\"#E5ECF6\",\"width\":0.5},\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"bar\"}],\"scattergeo\":[{\"type\":\"scattergeo\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatterpolar\":[{\"type\":\"scatterpolar\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"histogram\":[{\"marker\":{\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"histogram\"}],\"scattergl\":[{\"type\":\"scattergl\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatter3d\":[{\"type\":\"scatter3d\",\"line\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scattermapbox\":[{\"type\":\"scattermapbox\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatterternary\":[{\"type\":\"scatterternary\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scattercarpet\":[{\"type\":\"scattercarpet\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"carpet\":[{\"aaxis\":{\"endlinecolor\":\"#2a3f5f\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"minorgridcolor\":\"white\",\"startlinecolor\":\"#2a3f5f\"},\"baxis\":{\"endlinecolor\":\"#2a3f5f\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"minorgridcolor\":\"white\",\"startlinecolor\":\"#2a3f5f\"},\"type\":\"carpet\"}],\"table\":[{\"cells\":{\"fill\":{\"color\":\"#EBF0F8\"},\"line\":{\"color\":\"white\"}},\"header\":{\"fill\":{\"color\":\"#C8D4E3\"},\"line\":{\"color\":\"white\"}},\"type\":\"table\"}],\"barpolar\":[{\"marker\":{\"line\":{\"color\":\"#E5ECF6\",\"width\":0.5},\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"barpolar\"}],\"pie\":[{\"automargin\":true,\"type\":\"pie\"}]},\"layout\":{\"autotypenumbers\":\"strict\",\"colorway\":[\"#636efa\",\"#EF553B\",\"#00cc96\",\"#ab63fa\",\"#FFA15A\",\"#19d3f3\",\"#FF6692\",\"#B6E880\",\"#FF97FF\",\"#FECB52\"],\"font\":{\"color\":\"#2a3f5f\"},\"hovermode\":\"closest\",\"hoverlabel\":{\"align\":\"left\"},\"paper_bgcolor\":\"white\",\"plot_bgcolor\":\"#E5ECF6\",\"polar\":{\"bgcolor\":\"#E5ECF6\",\"angularaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"radialaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"}},\"ternary\":{\"bgcolor\":\"#E5ECF6\",\"aaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"baxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"caxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"}},\"coloraxis\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"colorscale\":{\"sequential\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"sequentialminus\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"diverging\":[[0,\"#8e0152\"],[0.1,\"#c51b7d\"],[0.2,\"#de77ae\"],[0.3,\"#f1b6da\"],[0.4,\"#fde0ef\"],[0.5,\"#f7f7f7\"],[0.6,\"#e6f5d0\"],[0.7,\"#b8e186\"],[0.8,\"#7fbc41\"],[0.9,\"#4d9221\"],[1,\"#276419\"]]},\"xaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\",\"title\":{\"standoff\":15},\"zerolinecolor\":\"white\",\"automargin\":true,\"zerolinewidth\":2},\"yaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\",\"title\":{\"standoff\":15},\"zerolinecolor\":\"white\",\"automargin\":true,\"zerolinewidth\":2},\"scene\":{\"xaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\",\"gridwidth\":2},\"yaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\",\"gridwidth\":2},\"zaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\",\"gridwidth\":2}},\"shapedefaults\":{\"line\":{\"color\":\"#2a3f5f\"}},\"annotationdefaults\":{\"arrowcolor\":\"#2a3f5f\",\"arrowhead\":0,\"arrowwidth\":1},\"geo\":{\"bgcolor\":\"white\",\"landcolor\":\"#E5ECF6\",\"subunitcolor\":\"white\",\"showland\":true,\"showlakes\":true,\"lakecolor\":\"white\"},\"title\":{\"x\":0.05},\"mapbox\":{\"style\":\"light\"}}},\"title\":{\"text\":\"2020\\u5e749\\u6708\\u4e0d\\u540c\\u7c7b\\u578b\\u5546\\u54c1\\u9000\\u5355\\u91cf\\u5206\\u6790\"}},                        {\"responsive\": true}                    ).then(function(){\n",
       "                            \n",
       "var gd = document.getElementById('d06b9786-181c-41b6-9d60-bad31c421dfa');\n",
       "var x = new MutationObserver(function (mutations, observer) {{\n",
       "        var display = window.getComputedStyle(gd).display;\n",
       "        if (!display || display === 'none') {{\n",
       "            console.log([gd, 'removed!']);\n",
       "            Plotly.purge(gd);\n",
       "            observer.disconnect();\n",
       "        }}\n",
       "}});\n",
       "\n",
       "// Listen for the removal of the full notebook cells\n",
       "var notebookContainer = gd.closest('#notebook-container');\n",
       "if (notebookContainer) {{\n",
       "    x.observe(notebookContainer, {childList: true});\n",
       "}}\n",
       "\n",
       "// Listen for the clearing of the current output cell\n",
       "var outputEl = gd.closest('.output');\n",
       "if (outputEl) {{\n",
       "    x.observe(outputEl, {childList: true});\n",
       "}}\n",
       "\n",
       "                        })                };                });            </script>        </div>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import plotly.graph_objects as go\n",
    "import pandas as pd\n",
    "from sklearn.preprocessing import MinMaxScaler\n",
    "\n",
    "# 读取数据\n",
    "try:\n",
    "    data = pd.read_excel('退单量.xls')\n",
    "    if data.empty:\n",
    "        print(\"读取到的数据为空，请检查文件路径和文件内容。\")\n",
    "        raise SystemExit(1)\n",
    "except FileNotFoundError:\n",
    "    print(\"文件未找到，请检查文件路径是否正确。\")\n",
    "    raise SystemExit(1)\n",
    "\n",
    "# 检查并处理数据类型\n",
    "try:\n",
    "    data['退单量'] = pd.to_numeric(data['退单量'], errors='coerce')\n",
    "    if pd.isnull(data['退单量']).any():\n",
    "        print(\"'退单量'列存在无法转换为数值的数据，请检查数据。\")\n",
    "        raise SystemExit(1)\n",
    "except KeyError:\n",
    "    print(\"数据中未找到'退单量'列，请检查列名是否正确。\")\n",
    "    raise SystemExit(1)\n",
    "\n",
    "try:\n",
    "    data['商品类型'] = data['商品类型'].astype(str)\n",
    "except KeyError:\n",
    "    print(\"数据中未找到'商品类型'列，请检查列名是否正确。\")\n",
    "    raise SystemExit(1)\n",
    "\n",
    "# 检查退单量数值情况\n",
    "values = data['退单量']\n",
    "if len(values.unique()) == 1:\n",
    "    if values.unique()[0] == 0:\n",
    "        print(\"'退单量'列所有值均为 0，请检查数据。\")\n",
    "        raise SystemExit(1)\n",
    "    else:\n",
    "        print(\"'退单量'列所有值相等，可能导致树状图显示单一，可调整数据体现差异。\")\n",
    "\n",
    "# 数据归一化处理\n",
    "scaler = MinMaxScaler()\n",
    "values = scaler.fit_transform(values.values.reshape(-1, 1)).flatten()\n",
    "\n",
    "labels = data['商品类型']\n",
    "\n",
    "# 绘制树状图并设置样式\n",
    "fig = go.Figure(go.Treemap(\n",
    "    labels=labels,\n",
    "    values=values,\n",
    "    marker=dict(\n",
    "        colors=['#636efa' if i % 2 == 0 else '#EF553B' for i in range(len(labels))],\n",
    "        line=dict(width=1, color='white')\n",
    "    )\n",
    "))\n",
    "\n",
    "# 设置图表标题\n",
    "fig.update_layout(title_text='2020年9月不同类型商品退单量分析')\n",
    "\n",
    "# 尝试不同的显示方式\n",
    "try:\n",
    "    fig.show()\n",
    "except:\n",
    "    print(\"在当前环境显示图表失败，尝试保存为 HTML 文件。\")\n",
    "    fig.write_html('treemap.html')\n",
    "    print(\"图表已保存为 treemap.html，请在浏览器中打开查看。\")\n",
    "    "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "49408914-4a28-40f9-a1fb-9d52276e56cc",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.12.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
